/**
 * 
 */
package com.clh.service;

import java.util.List;

import com.clh.common.PageInfo;
import com.clh.entity.Pay;

/**
 * @Description: TODO
 * @author 陈志艺
 * @date 2022年5月31日 下午5:36:32
 * @version v1.0
 */
public interface PayService {
	/**
	 * 获取缴费列表
	 * 
	 * @return
	 */
	List<Pay> getPayList();

	/**
	 * 通过缴费订单号删除
	 * 
	 * @param payNo
	 * @return
	 */
	int deleteByPayNo(String payNo);

	/**
	 * 通过条件查询记录
	 * 
	 * @param start    起始日期
	 * @param end      终止日期
	 * @param payNo    缴费编号
	 * @param pageNum  页码
	 * @param pageSize 每页的记录数
	 * @return
	 */
	PageInfo<Pay> getPayListByPage(String start, String end, String roomNo, int pageNum, int pageSize);

	/**
	 * 
	 * @param start       起始日期
	 * @param end         终止日期
	 * @param payTypeId		类别
	 * @param roomNo	房号
	 * @param pageNum	页码
	 * @param pageSize	记录数
	 * @return
	 */
	PageInfo<Pay> getPayListByPageInNOAndType(String start, String end, String payTypeId, String roomNo, int pageNum,
			int pageSize);

	/**
	 * 添加缴费订单
	 * 
	 * @param pay
	 * @return
	 */
	boolean addPay(Pay pay);

	/**
	 * 根据编号获取单个订单
	 * 
	 * @param payNo
	 * @return
	 */
	Pay getPayById(String payNo);

	/**
	 * 修改订单信息
	 * 
	 * @param pay
	 * @return
	 */
	boolean modifyPay(Pay pay);
	
	/*
	 * 传入年月判断是否已有缴费订单，有返回true
	 */
	boolean isExist(String repeatPay);
	
	/*
	 * 生成物业费订单（前缀为传入的年月信息）
	 */
	boolean propertyGenerate(String year,String month);
	
	/*
	 * 生成水费订单（前缀为传入的年月信息）
	 */
	boolean waterGenerate(String year,String month);
	
	/*
	 * 生成水费订单（前缀为传入的年月信息）
	 */
	boolean electricGenerate(String year,String month);
	
	
	/*
	 *传入订单号修改状态为已支付
	 */
	boolean updatePayStatus(String payNo);
}
